using EIP.HRP.Models.Enums;
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace EIP.HRP.Models.Entities
{
    /// <summary>
    /// 进入单位变化表
    /// </summary>
    [Serializable]
	[Table("Staff_Contract")]
    public class StaffContract
    {
       
        /// <summary>
        /// 主键ID
        /// </summary>		
		[Key]
        public Guid id{ get; set; }
       
        /// <summary>
        /// 员工ID
        /// </summary>		
		public Guid staffId{ get; set; }

        /// <summary>
        /// 编号
        /// </summary>
        [Description("合同编号")]
        [Required]
        public string number { get; set; }
        ///// <summary>
        ///// 类型编码：固定期限合同、非固定期限合同等
        ///// </summary>
        //public string typeCode { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>		
        [Description("开始时间")]
        [Required]
        public DateTime? startDate{ get; set; }
        /// <summary>
        /// 结束时间
        /// </summary>
        [Description("结束时间")]
        [Required]
        public DateTime? endDate { get; set; }
        /// <summary>
        /// 签订日期
        /// </summary>
        [Description("签订日期")]
        public DateTime? signDate { get; set; }
        /// <summary>
        /// 是否有试用期
        /// </summary>
        [Description("是否有试用期")]
        public bool? hasProbation { get; set; }

        /// <summary>
        /// 试用期开始日期
        /// </summary>
        [Description("试用期开始日期")]
        public DateTime? probationStartDate { get; set; }

        /// <summary>
        /// 试用期结束日期
        /// </summary>
        [Description("试用期结束日期")]
        public DateTime? probationEndDate { get; set; }

        /// <summary>
        /// 档案别名
        /// </summary>
        [Description("档案别名")]
        [Required]
        public string alias { get; set; } = "合同";

        /// <summary>
        /// 合同状态  0 未签订 1 已签订  2 已解除
        /// </summary>
        [Description("合同状态")]
        [Required]
        public ContractStatusEnum contractStatus { get; set; } = ContractStatusEnum.未签订;


        /// <summary>
        /// 登记日期
        /// </summary>	
        [Description("登记日期")]
        [Required]
        public DateTime createDate{ get; set; }

        /// <summary>
        /// 创建人
        /// </summary>	
        [Description("创建人")]
        [Required]
        public Guid createUserId { get; set; }

        /// <summary>
        /// 删除标志
        /// </summary>	
        [Description("删除标志")]
        [Required]
        public bool isDelete{ get; set; }
        /// <summary>
        /// 删除日期
        /// </summary>
        [Description("删除日期")]
        [Required]
        public DateTime? deleteDate { get; set; }

        /// <summary>
        /// 删除人
        /// </summary>
        [Description("删除人")]
        public Guid? deleteUserId { get; set; }
        /// <summary>
        /// 备注
        /// </summary>		
        [Description("备注")] 
        public string remark{ get; set; }
   } 
}
